package com.gopay.remote.cps.expresspay;

import com.gopay.common.Result;
import com.gopay.common.domain.bank.ExPayBaseMessage;
import com.gopay.common.domain.bank.PayRequest;
import com.gopay.common.domain.bank.PayResult;
import com.gopay.common.exception.CPSException;

public interface CardCertificationRemoteService {

    /**
     * cps 鉴权接口.
     * @param msg
     * @return
     */
    Result certification(ExPayBaseMessage msg) throws CPSException;

    /**
     * 固定鉴权接口
     * @param msg
     * @return
     * @throws CPSException
     */
    Result certificationFixedChannel(ExPayBaseMessage msg) throws CPSException;

    /**
     * 支付.
     * @param msg
     * @return
     * @throws CPSException
     */
    PayResult pay(PayRequest req) throws CPSException;
    
    
    /**
     * 发送短信
     * @param msg
     * @return
     * @throws CPSException
     */
    Result sendSms(ExPayBaseMessage msg) throws CPSException;
    
    /**
     * 校验短信
     * @param msg
     * @return
     * @throws CPSException
     */
    Result checkSms(ExPayBaseMessage msg) throws CPSException;
    
}
